/* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil -*-
   this file is part of rcssserver3D
   Fri May 9 2003
   Copyright (C) 2003 Koblenz University
   $Id$

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; version 2 of the License.

   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.

   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
// -*- C++ -*- generated by wxGlade 0.4.1 on Fri Feb 23 21:06:30 2007
#include <wx/wx.h>
#include <wx/image.h>
#include <wx/process.h>

#ifndef AGENTFRAME_H
#define AGENTFRAME_H

// begin wxGlade: ::dependencies
// end wxGlade


class agentframe: public wxFrame {
public:
    // begin wxGlade: agentframe::ids
    // end wxGlade

    agentframe(wxWindow* parent, int id, const wxString& title, const wxPoint& pos=wxDefaultPosition, const wxSize& size=wxDefaultSize, long style=wxDEFAULT_FRAME_STYLE);
    virtual ~agentframe();

    void KillAgent();
    bool StartAgent(const wxString& cmd);


    void OnUpdateAgentStart(wxUpdateUIEvent& event);
    void OnAgentStart(wxCommandEvent& /*event*/);

    void OnUpdateAgentKill(wxUpdateUIEvent& event);
    void OnAgentKill(wxCommandEvent& /*event*/);

private:
    // begin wxGlade: agentframe::methods
    void set_properties();
    void do_layout();
    // end wxGlade

    void Output(const wxString& str);
    void Output(wxInputStream* istream);

    void OnLogTimer(wxTimerEvent& event);
    void OnClose(wxCloseEvent& event);
    void OnEndProcess(wxProcessEvent& event);

    bool StartAgent();

protected:
    // begin wxGlade: agentframe::attributes
    wxTextCtrl* mCtrLog;
    // end wxGlade

    wxTimer mTimer;
    wxProcess *mProcess;
    int mPid;
    wxString mCmd;

    wxToolBar* mToolBar;

    DECLARE_EVENT_TABLE()

}; // wxGlade: end class


#endif // AGENTFRAME_H
